i.mem - Flash Memory
ID | Type | Example | Description |
---|---|---|---|
i.mem.blocks.counts.append |
integer | 2 |
The total number of blocks that have been appended to. |
i.mem.blocks.counts.erase |
integer | 132448 |
The total number of blocks that have been erased. |
i.mem.blocks.counts.read |
integer | 29 |
The total number of pages that have been read from the file-system. |
i.mem.blocks.counts.wear |
integer | 27463 |
The total number of wear-levelling operations. |
i.mem.blocks.counts.write |
integer | 99 |
The total number of pages that have been written to the file-system. |
i.mem.blocks.erased |
integer | 981 |
The number of pre-erased blocks in the file-system. |
i.mem.blocks.fw |
string | 'A+B+C+D' |
Shows the firmware block allocations. A =existing, B =uploaded, C =to-erase, D =erased. #Firmware/v290 |
i.mem.blocks.size |
integer | 131072 |
The size of a Flash storage block. Usually 128k. (A block is sub-divided into 2k pages.) |
i.mem.blocks.total |
integer | 989 |
The total number of Flash storage blocks that can be used for the system. Some blocks are reserved for firmware, while other blocks may be mapped out (because they were marked as defective). |
i.mem.blocks.totalstore |
integer | 984 |
The number of blocks that are available for use by the channel storage area. |
i.mem.blocks.used |
integer | 8 |
The number of blocks that have been used by storage and static files. |
i.mem.blocks.usedstore |
integer | 3 |
The number of blocks that have been used by storage files only. |
i.mem.blocks.waiting |
integer | 0 |
The number of blocks that are waiting to be erased. When a large file is erased it may take several seconds to erase the blocks. |
i.mem.file[#].blocks |
integer | 1 |
The number of flash blocks that the static file is using. “#” is between 1 and 16. |
i.mem.file[#].size |
integer | 5181 |
The total size, in bytes, of the static file. |
i.mem.store[#].blocks |
integer | 1 |
The total number of blocks that a storage file is using. “#” is the channel number. |
i.mem.store[#].frozen |
integer | 0 |
The “frozen” byte size of the storage file. The file is frozen to allow reading while writing can continue. |
i.mem.store[#].lostnew |
integer | 0 |
The total number of new bytes that have been thrown away (because the file has reached the maximum, or because the file system is full). |
i.mem.store[#].lostold |
integer | 0 |
The total number of old bytes that have been erased to make room for new data. |
i.mem.store[#].size |
integer | 40 |
The total number of bytes in the channel storage file. |
Most flash devices have some bad blocks. Up to 10% of the blocks may be bad, while blocks can age and die with extensive use
There may be no bytes in the storage area, but the storage file may still be using a block – there are still blank pages to be used before the block gets erased.